<?php

/*
 * Entrevista_escort DAL.
 * @Autor: Inicial.cl.
 */

class Entrevista_escortDAL {

    //METODO PARA GRABAR ENTREVISTA_ESCORT.
    public static function grabar($oEntrevista_escort) {
        try {
            $arr = array(
                "{#IDUSUARIO}" => $oEntrevista_escort->getIdUsuario(),
                "{#IDESCORT}" => $oEntrevista_escort->getIdEscort(),
                "{#FECHA}" => $oEntrevista_escort->getFecha(),
                "{#MENSAJE}" => $oEntrevista_escort->getMensaje(),
                "{#TITULO}" => $oEntrevista_escort->getTitulo(),
                "{#SRC}" => $oEntrevista_escort->getSrc(),
                "{#IDESTADO}" => $oEntrevista_escort->getIdEstado()
            );
            $query = Util::getQuery($arr, Entrevista_escortSQL::$GRABAR_ENTREVISTA_ESCORT);
            $arrDatos = Bd::exec($query);

            $id = Bd::$IDENTITY; //Retorno id insertado
            return $id;
        } catch (Excepcion $e) {
            throw new Exception($e->getMessage());
        }
    }

    //METODO PARA EDITAR ENTREVISTA_ESCORT.
    public static function editar($oEntrevista_escort) {
        try {
            $arr = array(
                "{#ID}" => $oEntrevista_escort->getId(),
                "{#IDUSUARIO}" => $oEntrevista_escort->getIdUsuario(),
                "{#IDESCORT}" => $oEntrevista_escort->getIdEscort(),
                "{#FECHA}" => $oEntrevista_escort->getFecha(),
                "{#MENSAJE}" => $oEntrevista_escort->getMensaje(),
                "{#TITULO}" => $oEntrevista_escort->getTitulo(),
                "{#SRC}" => $oEntrevista_escort->getSrc(),
                "{#IDESTADO}" => $oEntrevista_escort->getIdEstado()
            );
            $query = Util::getQuery($arr, Entrevista_escortSQL::$EDITAR_ENTREVISTA_ESCORT);
            $arrDatos = Bd::exec($query);
        } catch (Excepcion $e) {
            throw new Exception($e->getMessage());
        }
    }

    //METODO PARA LISTAR ENTREVISTA_ESCORT.
    public static function listar($oEntrevista_escort) {
        try {
            $arr = array();
            $query = Util::getQuery($arr, Entrevista_escortSQL::$LISTAR_ENTREVISTA_ESCORT);
            $arrDatos = Bd::exec($query);
            $arrEntrevista_escort = array();

            if (count($arrDatos) > 0) {
                foreach ($arrDatos as $row) {
                    $oEntrevista_escort = new Entrevista_escort();

                    $oEntrevista_escort->setId($row["id"]);
                    $oEntrevista_escort->setIdUsuario($row["idUsuario"]);
                    $oEntrevista_escort->setIdEscort($row["idEscort"]);
                    $oEntrevista_escort->setFecha($row["fecha"]);
                    $oEntrevista_escort->setMensaje($row["mensaje"]);
                    $oEntrevista_escort->setTitulo($row["titulo"]);
                    $oEntrevista_escort->setSrc($row["src"]);
                    $oEntrevista_escort->setEscort($row["escort"]);
                    $oEntrevista_escort->setIdEstado($row["idEstado"]);
                    $oEntrevista_escort->setEstado($row["estado"]);

                    $arrEntrevista_escort[] = $oEntrevista_escort;
                }
            }

            return $arrEntrevista_escort;
        } catch (Excepcion $e) {
            throw new Exception($e->getMessage());
        }
    }

    //METODO PARA LISTAR ENTREVISTA_ESCORT.
    public static function listarUltimas() {
        try {
            $arr = array();
            $query = Util::getQuery($arr, Entrevista_escortSQL::$LISTAR_ENTREVISTA_ESCORT_ULTIMAS);
            $arrDatos = Bd::exec($query);
            $arrEntrevista_escort = array();

            if (count($arrDatos) > 0) {
                foreach ($arrDatos as $row) {
                    $oEntrevista_escort = new Entrevista_escort();

                    $oEntrevista_escort->setId($row["id"]);
                    $oEntrevista_escort->setIdUsuario($row["idUsuario"]);
                    $oEntrevista_escort->setIdEscort($row["idEscort"]);
                    $oEntrevista_escort->setFecha($row["fecha"]);
                    $oEntrevista_escort->setMensaje($row["mensaje"]);
                    $oEntrevista_escort->setTitulo($row["titulo"]);
                    $oEntrevista_escort->setSrc($row["src"]);
                    $oEntrevista_escort->setUsuario($row["usuario"]);
                    $oEntrevista_escort->setCantidadComentario($row["cantidadComentario"]);
                    $oEntrevista_escort->setRutaAvatar($row["rutaAvatar"]);
                    $oEntrevista_escort->setImgEntrevista($row["imgEntrevista"]);

                    $arrEntrevista_escort[] = $oEntrevista_escort;
                }
            }

            return $arrEntrevista_escort;
        } catch (Excepcion $e) {
            throw new Exception($e->getMessage());
        }
    }
    
    //METODO PARA LISTAR ENTREVISTA_ESCORT
    public static function listarUltimasPaginacion($inicio, $tamannoPagina) {
        try {
            $arr = array(
                "{#INICIO}" => $inicio, 
                "{#TAMANNOPAGINA}" => $tamannoPagina
            );
            $query = Util::getQuery($arr, Entrevista_escortSQL::$LISTAR_ULTIMAS_PAGINACION);
            $arrDatos = Bd::exec($query);
            $arrEntrevista_escort = array();

            if (count($arrDatos) > 0) {
                foreach ($arrDatos as $row) {
                    $oEntrevista_escort = new Entrevista_escort();

                    $oEntrevista_escort->setId($row["id"]);
                    $oEntrevista_escort->setIdUsuario($row["idUsuario"]);
                    $oEntrevista_escort->setIdEscort($row["idEscort"]);
                    $oEntrevista_escort->setFecha($row["fecha"]);
                    $oEntrevista_escort->setMensaje($row["mensaje"]);
                    $oEntrevista_escort->setTitulo($row["titulo"]);
                    $oEntrevista_escort->setSrc($row["src"]);
                    $oEntrevista_escort->setUsuario($row["usuario"]);
                    $oEntrevista_escort->setCantidadComentario($row["cantidadComentario"]);
                    $oEntrevista_escort->setRutaAvatar($row["rutaAvatar"]);
                    $oEntrevista_escort->setImgEntrevista($row["imgEntrevista"]);

                    $arrEntrevista_escort[] = $oEntrevista_escort;
                }
            }

            return $arrEntrevista_escort;
        } catch (Excepcion $e) {
            throw new Exception($e->getMessage());
        }
    }
    
    //METODO PARA LISTAR ENTREVISTA_ESCORT POR ID ESCORT.
    public static function listarPorEscortPaginacion($id, $inicio, $tamannoPagina) {
        try {
            $arr = array(
                "{#ID}" => $id, 
                "{#INICIO}" => $inicio, 
                "{#TAMANNOPAGINA}" => $tamannoPagina
            );
            $query = Util::getQuery($arr, Entrevista_escortSQL::$LISTAR_POR_ESCORT_PAGINACION);
            $arrDatos = Bd::exec($query);
            $arrEntrevista_escort = array();

            if (count($arrDatos) > 0) {
                foreach ($arrDatos as $row) {
                    $oEntrevista_escort = new Entrevista_escort();

                    $oEntrevista_escort->setId($row["id"]);
                    $oEntrevista_escort->setIdUsuario($row["idUsuario"]);
                    $oEntrevista_escort->setIdEscort($row["idEscort"]);
                    $oEntrevista_escort->setFecha($row["fecha"]);
                    $oEntrevista_escort->setMensaje($row["mensaje"]);
                    $oEntrevista_escort->setTitulo($row["titulo"]);
                    $oEntrevista_escort->setSrc($row["src"]);
                    $oEntrevista_escort->setUsuario($row["usuario"]);
                    $oEntrevista_escort->setCantidadComentario($row["cantidadComentario"]);
                    $oEntrevista_escort->setRutaAvatar($row["rutaAvatar"]);
                    $oEntrevista_escort->setImgEntrevista($row["imgEntrevista"]);

                    $arrEntrevista_escort[] = $oEntrevista_escort;
                }
            }

            return $arrEntrevista_escort;
        } catch (Excepcion $e) {
            throw new Exception($e->getMessage());
        }
    }

    //METODO PARA OBTENER POR ID ENTREVISTA_ESCORT.
    public static function obtenerPorId($id) {
        try {
            $arr = array(
                "{#ID}" => $id
            );
            $query = Util::getQuery($arr, Entrevista_escortSQL::$OBTENER_ENTREVISTA_ESCORT_POR_ID);
            $arrDatos = Bd::exec($query);

            if (count($arrDatos) > 0) {
                $oEntrevista_escort = new Entrevista_escort();

                foreach ($arrDatos as $row) {
                    $oEntrevista_escort->setId($row["id"]);
                    $oEntrevista_escort->setIdUsuario($row["idUsuario"]);
                    $oEntrevista_escort->setIdEscort($row["idEscort"]);
                    $oEntrevista_escort->setFecha($row["fecha"]);
                    $oEntrevista_escort->setMensaje($row["mensaje"]);
                    $oEntrevista_escort->setTitulo($row["titulo"]);
                    $oEntrevista_escort->setSrc($row["src"]);
                    $oEntrevista_escort->setEscort($row["escort"]);
                    $oEntrevista_escort->setIdEstado($row["idEstado"]);
                    $oEntrevista_escort->setEstado($row["estado"]);
                }
                return $oEntrevista_escort;
            }
        } catch (Excepcion $e) {
            throw new Exception($e->getMessage());
        }
    }

    //METODO PARA ELIMINAR ENTREVISTA_ESCORT.
    public static function eliminar($id) {
        try {
            $arr = array("{#ID}" => $id);
            $query = Util::getQuery($arr, Entrevista_escortSQL::$ELIMINAR_ENTREVISTA_ESCORT);
            $arrDatos = Bd::exec($query);
        } catch (Excepcion $e) {
            throw new Exception($e->getMessage());
        }
    }

}

?>